#include <stdio.h>

// 函数声明
unsigned long long factorial(int);

int main() {
    int number;
    printf("请输入一个正整数: ");
    scanf("%d", &number);

    // 检查输入是否为非负整数
    if (number < 0) {
        printf("错误！请输入一个非负整数。\n");
    } else {
        printf("%d 的阶乘是 %llu\n", number, factorial(number));
    }

    return 0;
}

// 计算阶乘的递归函数
unsigned long long factorial(int n) {
    if (n == 0) {
        return 1;
    } else {
        return n * factorial(n - 1);
    }
}
